//package org.jeecg.modules.gyy.common;
//
//import com.aliyun.oss.model.ObjectMetadata;
//import com.aliyun.oss.model.PutObjectRequest;
//import com.aliyun.oss.model.PutObjectResult;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//import org.springframework.web.multipart.MultipartFile;
//
//import javax.swing.plaf.synth.Region;
//import java.io.IOException;
//import java.io.InputStream;
//import java.util.UUID;
//
//@Component
//public class TencentCosUtils {
//
//    @Value("${tencent.cos.secret-id}")
//    private String secretId;
//
//    @Value("${tencent.cos.secret-key}")
//    private String secretKey;
//
//    @Value("${tencent.cos.region}")
//    private String region;
//
//    @Value("${tencent.cos.bucket-name}")
//    private String bucketName;
//
//    @Value("${tencent.cos.base-url}")
//    private String baseUrl;
//
//    /**
//     * 上传文件到腾讯云 COS
//     * @param file 上传的文件（图片/视频）
//     * @param folder 存储路径（如 "images/" 或 "videos/"）
//     * @return 文件访问URL
//     */
//    public String uploadFile(MultipartFile file, String folder) throws IOException {
//        // 1. 生成唯一文件名（防止覆盖）
//        String originalFilename = file.getOriginalFilename();
//        String fileExt = originalFilename.substring(originalFilename.lastIndexOf("."));
//        String key = folder + UUID.randomUUID() + fileExt;
//
//        // 2. 初始化COS客户端
//        COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
//        ClientConfig clientConfig = new ClientConfig(new Region(region));
//        clientConfig.setHttpProtocol(HttpProtocol.https); // 使用HTTPS协议
//        COSClient cosClient = new COSClient(cred, clientConfig);
//
//        try {
//            // 3. 获取文件流并上传
//            InputStream inputStream = file.getInputStream();
//            ObjectMetadata metadata = new ObjectMetadata();
//            metadata.setContentLength(file.getSize());
//
//            PutObjectRequest request = new PutObjectRequest(bucketName, key, inputStream, metadata);
//            PutObjectResult result = cosClient.putObject(request);
//
//            // 4. 返回文件访问URL
//            return baseUrl + "/" + key;
//        } finally {
//            cosClient.shutdown(); // 关闭客户端
//        }
//    }
//}
